home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / enlightenment / e_gadman.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  5KB  |  124 lines

  1. /*
  2.  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  3.  */
  4. #ifdef E_TYPEDEFS
  5.  
  6. typedef enum _E_Gadman_Policy
  7. {
  8.    /* type */
  9.    E_GADMAN_POLICY_ANYWHERE = 0, 
  10.    E_GADMAN_POLICY_EDGES = 1, 
  11.    /* extra flags */
  12.    E_GADMAN_POLICY_FIXED_ZONE = 1 << 8,
  13.    E_GADMAN_POLICY_HSIZE = 1 << 9,
  14.    E_GADMAN_POLICY_VSIZE = 1 << 10,
  15.    E_GADMAN_POLICY_HMOVE = 1 << 11,
  16.    E_GADMAN_POLICY_VMOVE = 1 << 12
  17. } E_Gadman_Policy;
  18.  
  19. typedef enum _E_Gadman_Change
  20. {
  21.    E_GADMAN_CHANGE_MOVE_RESIZE,
  22.    E_GADMAN_CHANGE_EDGE,
  23.    E_GADMAN_CHANGE_ZONE,
  24.    E_GADMAN_CHANGE_RAISE
  25. } E_Gadman_Change;
  26.  
  27. typedef enum _E_Gadman_Edge
  28. {
  29.    E_GADMAN_EDGE_LEFT,
  30.    E_GADMAN_EDGE_RIGHT,
  31.    E_GADMAN_EDGE_TOP,
  32.    E_GADMAN_EDGE_BOTTOM
  33. } E_Gadman_Edge;
  34.  
  35. typedef enum _E_Gadman_Mode
  36. {
  37.    E_GADMAN_MODE_NORMAL,
  38.    E_GADMAN_MODE_EDIT
  39. } E_Gadman_Mode;
  40.  
  41. typedef struct _E_Gadman        E_Gadman;
  42. typedef struct _E_Gadman_Client E_Gadman_Client;
  43.  
  44. #else
  45. #ifndef E_GADMAN_H
  46. #define E_GADMAN_H
  47.  
  48. #define E_GADMAN_TYPE 0xE0b01006
  49. #define E_GADMAN_CLIENT_TYPE 0xE0b01007
  50.  
  51. struct _E_Gadman
  52. {
  53.    E_Object             e_obj_inherit;
  54.    E_Container         *container;
  55.    Evas_List           *clients;
  56.    E_Gadman_Mode        mode;
  57. };
  58.  
  59. struct _E_Gadman_Client
  60. {
  61.    E_Object             e_obj_inherit;
  62.    E_Gadman            *gadman;
  63.    
  64.    Evas_Object         *control_object;
  65.    Evas_Object         *event_object;
  66.    E_Menu              *menu;
  67.    Evas_Coord           down_x, down_y;
  68.    Evas_Coord           down_store_x, down_store_y, down_store_w, down_store_h;
  69.    unsigned char        moving : 1;
  70.    unsigned char        resizing_l : 1;
  71.    unsigned char        resizing_r : 1;
  72.    unsigned char        resizing_u : 1;
  73.    unsigned char        resizing_d : 1;
  74.    E_Gadman_Edge        edge;
  75.    char                *domain;
  76.    E_Zone              *zone;
  77.    int                  instance;
  78.    E_Gadman_Policy      policy;
  79.    Evas_Coord           x, y, w, h;
  80.    Evas_Coord           minw, minh, maxw, maxh;
  81.    unsigned char        use_autow : 1;
  82.    unsigned char        use_autoh : 1;
  83.    Evas_Coord           autow, autoh;
  84.    double               ax, ay;
  85.    double               mina, maxa;
  86.    struct {
  87.     int l, r, t, b;
  88.    } pad;
  89.    void               (*func) (void *data, E_Gadman_Client *gmc, E_Gadman_Change change);
  90.    void                *data;
  91.    void                *config;
  92. };
  93.  
  94. EAPI int              e_gadman_init(void);
  95. EAPI int              e_gadman_shutdown(void);
  96. EAPI E_Gadman        *e_gadman_new(E_Container *con);
  97. EAPI void             e_gadman_mode_set(E_Gadman *gm, E_Gadman_Mode mode);
  98. EAPI E_Gadman_Mode    e_gadman_mode_get(E_Gadman *gm);
  99. EAPI void             e_gadman_all_save(E_Gadman *gm);
  100. EAPI void             e_gadman_container_resize(E_Gadman *gm);
  101. EAPI E_Gadman_Client *e_gadman_client_new(E_Gadman *gm);
  102. EAPI void             e_gadman_client_save(E_Gadman_Client *gmc);
  103. EAPI void             e_gadman_client_edge_set(E_Gadman_Client *gmc, E_Gadman_Edge edge);
  104. EAPI void             e_gadman_client_load(E_Gadman_Client *gmc);
  105. EAPI void             e_gadman_client_domain_set(E_Gadman_Client *gmc, char *domain, int instance);
  106. EAPI void             e_gadman_client_zone_set(E_Gadman_Client *gmc, E_Zone *zone);
  107. EAPI void             e_gadman_client_policy_set(E_Gadman_Client *gmc, E_Gadman_Policy pol);
  108. EAPI void             e_gadman_client_min_size_set(E_Gadman_Client *gmc, Evas_Coord minw, Evas_Coord minh);
  109. EAPI void             e_gadman_client_max_size_set(E_Gadman_Client *gmc, Evas_Coord maxw, Evas_Coord maxh);
  110. EAPI void             e_gadman_client_align_set(E_Gadman_Client *gmc, double xalign, double yalign);
  111. EAPI void             e_gadman_client_aspect_set(E_Gadman_Client *gmc, double mina, double maxa);
  112. EAPI void             e_gadman_client_padding_set(E_Gadman_Client *gmc, int l, int r, int t, int b);
  113. EAPI void             e_gadman_client_auto_size_set(E_Gadman_Client *gmc, Evas_Coord autow, Evas_Coord autoh);
  114. EAPI void             e_gadman_client_edge_set(E_Gadman_Client *gmc, E_Gadman_Edge edge);
  115. EAPI E_Gadman_Edge    e_gadman_client_edge_get(E_Gadman_Client *gmc);
  116. EAPI void             e_gadman_client_geometry_get(E_Gadman_Client *gmc, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
  117. EAPI void             e_gadman_client_user_resize(E_Gadman_Client *gmc, Evas_Coord w, Evas_Coord h);
  118. EAPI void             e_gadman_client_resize(E_Gadman_Client *gmc, Evas_Coord w, Evas_Coord h);
  119. EAPI void             e_gadman_client_change_func_set(E_Gadman_Client *gmc, void (*func) (void *data, E_Gadman_Client *gmc, E_Gadman_Change change), void *data);
  120. EAPI E_Menu          *e_gadman_client_menu_new(E_Gadman_Client *gmc);
  121.  
  122. #endif
  123. #endif
  124.